<?php
    if (!$_POST) {
    	$filtro		=	PARAMETRO_0;
		
		$this->getRegistro()->set('filtro', $filtro);
		
		if (defined('PARAMETRO_2')) {
			$ordena =	PARAMETRO_2;
		}
		else {
			$ordena	=	"ordenanome";
		}
		
		if (defined('PARAMETRO_3')) {
			$ordem 	=	PARAMETRO_3;
			
			if ($ordem != 'asc' && $ordem != 'desc') {
				redireciona(array('404'));
				exit;
			}
		}
		else {
			$ordem	=	"asc";
		}
		
		if (defined('PARAMETRO_4')) {
			$paginaAtual	=	intval(str_replace('pagina', '', PARAMETRO_4));
		}
		else {
			$paginaAtual 	=	1;
		}
		
		$strInputBuscaUsuarios 	=	"";

		if (defined('PARAMETRO_5')) {
			if ($filtro == 'busca') {
				$strBusca	=	codificaString(urldecode(PARAMETRO_5));
				$strInputBuscaUsuarios	=	$_SESSION['constructore']['buscaUsuarios'];
				if (codificaString($strInputBuscaUsuarios) != $strBusca) {
					$strInputBuscaUsuarios 	=	str_replace('-', ' ', urldecode(PARAMETRO_5));
					$_SESSION['constructore']['buscaUsuarios']	=	$strInputBuscaUsuarios;
				}
			}
			else {
				
				foreach ($_GET as $chave => $get) {
					$_GET[$chave]	=	str_replace('/', '', $get);
				}
				
				$this->getRegistro()->set('mostraBuscaAvancada', true);
				$strNome				=	codificaString(urldecode($_GET['nome']));
				$strEmail				=	codificaString(urldecode($_GET['email']));
				$comFoto				=	codificaString(urldecode($_GET['foto']));
				$strSexo 				=	codificaString(urldecode($_GET['sexo']));
				$strEstado 				=	codificaString(urldecode($_GET['estado']));
				$strCursoConstructore	=	codificaString(urldecode($_GET['cursoconstructore']));
				$strInstituicao			=	codificaString(urldecode($_GET['instituicao']));
				$tipoCadastro			=	codificaString(urldecode($_GET['tipocadastro']));
				
				if ($strNome != codificaString($_SESSION['constructore']['buscaAvancadaUsuarios']['nome'])) {
					$_SESSION['constructore']['buscaAvancadaUsuarios']['nome']	=	str_replace('-', ' ', $strNome);
				}
				
				if ($strEmail != codificaString($_SESSION['constructore']['buscaAvancadaUsuarios']['email'])) {
					$_SESSION['constructore']['buscaAvancadaUsuarios']['email']	=	str_replace('-', ' ', $strEmail);
				}
				
				if ($comFoto != $_SESSION['constructore']['buscaAvancadaUsuarios']['foto']) {
					$_SESSION['constructore']['buscaAvancadaUsuarios']['foto']	=	$comFoto;
				}
				
				if ($strCursoConstructore != codificaString($_SESSION['constructore']['buscaAvancadaUsuarios']['cursoConstructore'])) {
					$_SESSION['constructore']['buscaAvancadaUsuarios']['cursoConstructore']	=	str_replace('-', ' ', $strCursoConstructore);
				}
				
				if ($strInstituicao != codificaString($_SESSION['constructore']['buscaAvancadaUsuarios']['instituicao'])) {
					$_SESSION['constructore']['buscaAvancadaUsuarios']['instituicao']	=	str_replace('-', ' ', $strInstituicao);
				}
				
				if ($tipoCadastro != $_SESSION['constructore']['buscaAvancadaUsuarios']['tipoCadastro']) {
					$_SESSION['constructore']['buscaAvancadaUsuarios']['tipoCadastro']	=	str_replace('-', ' ', $tipoCadastro);
				}
				
				$strBusca 	=	urldecode(PARAMETRO_5);
				
				$this->getRegistro()->set('nome', $_SESSION['constructore']['buscaAvancadaUsuarios']['nome']);
				$this->getRegistro()->set('email', $_SESSION['constructore']['buscaAvancadaUsuarios']['email']);
				$this->getRegistro()->set('foto', $_SESSION['constructore']['buscaAvancadaUsuarios']['foto']);
				$this->getRegistro()->set('sexo', $_SESSION['constructore']['buscaAvancadaUsuarios']['sexo']);
				$this->getRegistro()->set('estado', $_SESSION['constructore']['buscaAvancadaUsuarios']['estado']);
				$this->getRegistro()->set('cursoConstructore', $_SESSION['constructore']['buscaAvancadaUsuarios']['cursoConstructore']);
				$this->getRegistro()->set('instituicao', $_SESSION['constructore']['buscaAvancadaUsuarios']['instituicao']);
				$this->getRegistro()->set('tipoCadastro', $_SESSION['constructore']['buscaAvancadaUsuarios']['tipoCadastro']);
			}
		}
		else {
			$strBusca 	=	null;
			unset($_SESSION['constructore']['buscaUsuarios']);
			if ($filtro == 'buscaavancada') {
				$filtro 	=	'todos';
				$this->getRegistro()->set('mostraBuscaAvancada', true);
			}
			else {
				redireciona(array('404'));
				exit;
			}
		}
		
		$this->getRegistro()->set('strInputBusca', $strInputBuscaUsuarios);
		if ($filtro == 'busca') {
			$this->getRegistro()->set('checkUsuario', true);
		}
		$ordemNova 	=	$ordem	==	'asc' ? 'desc' : 'asc';
		
		$this->getRegistro()->set('strBusca', $strBusca);
		$this->getRegistro()->set('ordemNome', 'asc');
		$this->getRegistro()->set('ordemTipo', 'asc');
		$this->getRegistro()->set('ordemCadastro', 'asc');
		$this->getRegistro()->set('ordena', $ordena);
		$this->getRegistro()->set('ordemAtual', $ordem);
		
		switch ($ordena) {
			case 'ordenanome':
				$this->getRegistro()->set('ordemNome', $ordemNova);
				break;
				
			case 'ordenatipo':
				$this->getRegistro()->set('ordemTipo', $ordemNova);
				break;
				
			case 'ordenacadastro':
				$this->getRegistro()->set('ordemCadastro', $ordemNova);
				break;
			
			default:
				redireciona(array('404'));
				exit;
				break;
		}
		
		if ($filtro != 'buscaavancada') {
			$resultadoBusca		=	Usuario::buscaSimples($filtro, $ordena, $ordem, $paginaAtual, $strBusca);
		}
		else {
			$resultadoBusca 	=	Usuario::buscaAvancada($ordena, $ordem, $paginaAtual, $strNome, $strEmail, $comFoto, $strSexo, $strEstado, $strCursoConstructore, $strInstituicao, $tipoCadastro, null, null, null, null, null, null, null, null, null, null);
		}		
		
		$listaUsuarios 		=	$resultadoBusca['listaUsuarios'];
		$qtdUsuarios 		=	$resultadoBusca['qtdUsuarios'];
		$qtdPaginas 		=	$resultadoBusca['qtdPaginas'];
		
		$this->getRegistro()->set('qtdUsuarios', $qtdUsuarios);
		$this->getRegistro()->set('qtdPaginas', $qtdPaginas);
		$this->getRegistro()->set('paginaAtual', $paginaAtual);
		$this->getRegistro()->set('listaUsuarios', $listaUsuarios);
		$this->exibir('buscausuarios.php');
    }
	else {
		if (isset($_POST['inputBuscar'])) {
			$strBusca 	=	$_POST['inputBuscar'];
			if ($strBusca != '') {
				$_SESSION['constructore']['buscaUsuarios']	=	$strBusca;
				$URLBusca	=	codificaString($strBusca);
				redireciona(array('busca', 'usuarios', 'ordenanome', 'asc', 'pagina1', $URLBusca));
				exit;
			}
			else {
				$strMensagem 	=	'Você deve preencher o campo Buscar para fazer uma pesquisa.';
				$_SESSION['constructore']['mensagens']['buscaVazia'] = $strMensagem;
				redireciona($_SESSION['constructore']['URLOrigem']);
				exit;
			}
		}
		else {
			$strNome				=	codificaString($_POST['inputNome']);
			$strEmail				=	codificaString($_POST['inputEmail']);
			$comFoto				=	isset($_POST['checkFoto']) ? 'true' : 'false';
			$strSexo				=	isset($_POST['inputSexo']) ? strtolower($_POST['inputSexo']) : '';
			$strEstado				=	codificaString($_POST['selectEstado']);
			$strCursoConstructore	=	codificaString($_POST['inputCursoConstructore']);
			$strInstituicao			=	codificaString($_POST['inputInstituicao']);
			$tipoCadastro			=	$_POST['selectTipoCadastro'];
			
			$_SESSION['constructore']['buscaAvancadaUsuarios']['nome']				=	$_POST['inputNome'];
			$_SESSION['constructore']['buscaAvancadaUsuarios']['email']				=	$_POST['inputEmail'];
			$_SESSION['constructore']['buscaAvancadaUsuarios']['foto']				=	$comFoto;
			$_SESSION['constructore']['buscaAvancadaUsuarios']['sexo']				=	$strSexo;
			$_SESSION['constructore']['buscaAvancadaUsuarios']['estado']			=	$strEstado;
			$_SESSION['constructore']['buscaAvancadaUsuarios']['cursoConstructore']	=	$_POST['inputCursoConstructore'];
			$_SESSION['constructore']['buscaAvancadaUsuarios']['instituicao']		=	$_POST['inputInstituicao'];
			$_SESSION['constructore']['buscaAvancadaUsuarios']['tipoCadastro']		=	$tipoCadastro;
			
			$strBusca 	=	'?nome=' . $strNome . '&email=' . $strEmail . '&foto=' . $comFoto . '&sexo=' . $strSexo . '&estado=' . $strEstado . '&cursoconstructore=' . $strCursoConstructore . '&instituicao=' . $strInstituicao . '&tipocadastro=' . $tipoCadastro;
			redireciona(array('buscaavancada', 'usuarios', 'ordenanome', 'asc', 'pagina1', $strBusca));
		}
	}
?>